package org.zjx.data.screen;

import org.zjx.command.entity.screen.Room;
import org.zjx.data.BaseSceneBuilder;
import java.awt.*;

public class DaTangGuoJingSceneBuilder extends BaseSceneBuilder {

    @Override
    protected String getSceneName() {
        return "大唐国境";
    }

    @Override
    protected Dimension getSceneSize() {
        return new Dimension(351, 334);
    }

    @Override
    protected void addMonsters() {

    }

    @Override
    protected void addNpcs() {
        addNpc("驿站老板", new Point(87, 250));
        addNpc("牢房守卫", new Point(334, 29));
        addNpc("普陀接引仙女", new Point(220, 62));
        addNpc("衙门守卫", new Point(295, 288));
        addNpc("黑山老妖", new Point(98, 285));
        addNpc("吴文彩", new Point(310, 220));
        addNpc("吴老爹", new Point(260, 238));
        addNpc("小芸芸", new Point(166, 304));
        addNpc("者释和尚", new Point(178, 90));
        addNpc("业释和尚", new Point(187, 152));
        addNpc("海释和尚", new Point(138, 177));
        addNpc("大生", new Point(88, 220));
        addNpc("白琉璃", new Point(40, 160));
        addNpc("刘母", new Point(252, 303));
        addNpc("虾兵", new Point(240, 263));
        addNpc("渔翁", new Point(151, 255));
        addNpc("小二", new Point(66, 69));
        addNpc("婆婆", new Point(24, 29));
        addNpc("殷温娇", new Point(301, 301));
        addNpc("山神", new Point(41, 239));
        addNpc("超级巫医", new Point(54, 75));
        addNpc("杂货店老板", new Point(261, 308));
        addNpc("古董商人", new Point(250, 77));
    }

    @Override
    protected void addRooms() {
        // 大雄宝殿
        Room daXiongBaoDian = createRoom("大雄宝殿", null);
        addNpcToRoom(daXiongBaoDian, "玄奘奘", new Point(12, 19));
        addNpcToRoom(daXiongBaoDian, "酒肉和尚", new Point(37, 14));
        rooms.add(daXiongBaoDian);

        // 江州衙门
        Room jiangZhouYamen = createRoom("江州衙门", null);
        addNpcToRoom(jiangZhouYamen, "刘洪", new Point(27, 19));
        addNpcToRoom(jiangZhouYamen, "衙役", new Point(23, 14));
        rooms.add(jiangZhouYamen);

        // 江州民居
        Room jiangZhouMinJu = createRoom("江州民居", null);
        addNpcToRoom(jiangZhouMinJu, "文秀", new Point(12, 9));
        rooms.add(jiangZhouMinJu);
    }

    @Override
    protected void addTeleports() {
        // 场景传送点
        addSceneTeleport(new Point(337, 146), "长安城", new Point(12, 3), new Point(341, 147));
        addSceneTeleport(new Point(49, 325), "地府", new Point(140, 6), new Point(48, 327));
        addSceneTeleport(new Point(10, 77), "大唐境外", new Point(633, 101), new Point(2, 77));

        // NPC传送点
        addNpcTeleport("普陀接引仙女", new Point(225, 61), "普陀山", new Point(87, 4), new Point(221, 61));
        addNpcTeleport("驿站老板", new Point(177, 261), "凌波城", new Point(9, 60), new Point(174, 261));
        addNpcTeleport("驿站老板", new Point(199, 299), "赤水洲", new Point(145, 5), new Point(196, 299));
        addNpcTeleport("牢房守卫", new Point(331, 28), "看守所", new Point(37, 7), new Point(329, 31));
    }

    public static void main(String[] args) {
        DaTangGuoJingSceneBuilder builder = new DaTangGuoJingSceneBuilder();
        builder.execute("datang_guojing_scene.json", "大唐国境");
    }
}